package br.com.hd.controller;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.faces.context.FacesContext;

import br.com.hd.dao.DAO;
import br.com.hd.entity.Departamento;

public class DepartamentoController {

	private Departamento departamento;
	private List<Departamento> departamentoList = new ArrayList<Departamento>();

	public Departamento getDepartamento() {
		return departamento;
	}

	public void setDepartamento(Departamento departamento) {
		this.departamento = departamento;
	}

	public List<Departamento> getDepartamentoList() {
		return departamentoList;
	}

	public void setDepartamentoList(List<Departamento> departamentoList) {
		this.departamentoList = departamentoList;
	}

	public void cadastrar() throws IOException {
		departamento = new Departamento();
		FacesContext.getCurrentInstance().getExternalContext()
				.redirect("cadastrarDepartamento.jsp");
	}

	@SuppressWarnings("unchecked")
	public List<Departamento> listar() throws IOException {
		departamento = new Departamento();
		departamentoList = new ArrayList<Departamento>();
		departamentoList = DAO.getInstance().list(Departamento.class);
		FacesContext.getCurrentInstance().getExternalContext()
				.redirect("listarDepartamento.jsp");
		return departamentoList;
	}

	public void salvar() throws Exception {
		DAO.getInstance().saveOrUpdate(departamento);
		departamento = new Departamento();
	}
	
	
	public Departamento editar() throws IOException {
		FacesContext context = FacesContext.getCurrentInstance();
		departamento = (Departamento) context.getExternalContext().getRequestMap()
				.get("list");
		FacesContext.getCurrentInstance().getExternalContext()
				.redirect("cadastrarDepartamento.jsp");
		return departamento;
	}
}
